﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;
using Microsoft.ApplicationServer.Caching;

namespace Steve.UI.Extensions.AppFabric
{
    [Export(typeof(ICacheService))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public class AppFabricCacheService : ICacheService
    {
        DataCacheFactory _factory;
        DataCache _cache;
        IConfiguration _config;

        [ImportingConstructor]
        public AppFabricCacheService(IConfiguration config)
        {
            _config = config;
            _factory = new DataCacheFactory();
        }

        public T GetValue<T>(CacheType cacheType, string cacheKey) where T : class
        {
            throw new NotImplementedException();
        }

        public void PutValue(CacheType cacheType, string cacheKey, object value, TimeSpan? ttl)
        {
            throw new NotImplementedException();
        }

        public void Invalidate(CacheType cacheType, string cacheKey)
        {
            throw new NotImplementedException();
        }

        public void Invalidate(CacheType cacheType)
        {
            throw new NotImplementedException();
        }

        public IEnumerable<string> GetKeys(CacheType cacheType)
        {
            throw new NotImplementedException();
        }
    }
}
